---
title: "Class ItemVisitor&lt;T> | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/ItemVisitor`T`/"
---

# Class ItemVisitor<T>

> **Inheritance:** `System.Object` -> ItemVisitor&lt;T&gt;

# Class ItemVisitor&lt;T&gt;

###### **Namespace**: [Aurigma.DesignAtoms.Model](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.md)

###### **Assembly**: Aurigma.DesignAtoms.Model.dll

```csharp title="Syntax"
public abstract class ItemVisitor<T>
```

## Inherited Members

* `System.Object.ToString`
* `System.Object.Equals(System.Object)`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### ItemVisitor

```csharp
protected ItemVisitor()
```

## Methods

### Visit

```csharp
public abstract Task<T> Visit(SmartItem smart)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.SmartItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/SmartItem.md) | *smart* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(BarcodeItem image)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.BarcodeItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/BarcodeItem.md) | *image* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(ImageItem image)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.md) | *image* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(DashedLineItem dashedLine)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.DashedLineItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/DashedLineItem.md) | *dashedLine* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(LineItem line)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.LineItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/LineItem.md) | *line* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(EllipseItem ellipse)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.EllipseItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/EllipseItem.md) | *ellipse* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(PolylineItem polyline)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.PolylineItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/PolylineItem.md) | *polyline* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(RectangleItem rectangle)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.RectangleItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/RectangleItem.md) | *rectangle* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(PlainTextItem plainText)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.PlainTextItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/PlainTextItem.md) | *plainText* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(BoundedTextItem boundedText)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.BoundedTextItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/BoundedTextItem.md) | *boundedText* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(CurvedTextItem curvedText)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.CurvedTextItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/CurvedTextItem.md) | *curvedText* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(GridItem grid)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.GridItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/GridItem.md) | *grid* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(PlaceholderItem placeholder)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.PlaceholderItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/PlaceholderItem.md) | *placeholder* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(ShapeItem shape)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ShapeItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ShapeItem.md) | *shape* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(PathBoundedTextItem pathBoundedText)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.PathBoundedTextItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/PathBoundedTextItem.md) | *pathBoundedText* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(AutoScaledTextItem autoScaledText)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.AutoScaledTextItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/AutoScaledTextItem.md) | *autoScaledText* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(GroupItem groupItem)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.GroupItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/GroupItem.md) | *groupItem* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |

### Visit

```csharp
public abstract Task<T> Visit(ClipartItem clipartItem)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ClipartItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ClipartItem.md) | *clipartItem* |  |

##### Returns

`System.Threading.Tasks.Task<<T>>`

##### Type Parameters

| Name | Description |
|:---|:---|
| `T` |  |
